#ifndef __FEM__POINT__
#define __FEM__POINT__

#include <vector>
#include <initializer_list>
#include <iostream>

class Point
{
public:
    Point(unsigned long, std::initializer_list<double>, bool);
    double operator[](unsigned int);
    friend std::ostream& operator<<(std::ostream&, Point);
    friend unsigned long id(Point);
    friend bool is_boundary(Point);
    friend class Grid;
    void set_marker(bool);
private:
    std::vector<double> cord;
    unsigned long index;
    bool marker;
};

#endif
